2016-04-27 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m
	Detect count() in query and complete progress.

2016-04-19 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	* DBSoap.h
	Getters for batch size.

	* DBSoapCSV.m
	Copy batch size when cloning DBSoap instance.

2016-04-11 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (_create)
        Handle multiple errors more gracefully.

2016-04-04 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (_update)
        Handle multiple errors more gracefully.

2016-03-16 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Fix correct result return type from query for insert and delete.

2016-02-16 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Look for ( when looking for aggregate operators only before from, ignoring thus IN(...)

2016-02-16 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Look for 'LIMIT ' including space to reduce risk of matching a field.

2015-11-23 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (fieldsByParsingQuery)
	Detect nested query and return unsupported exception.

2015-11-19 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m
	Mark first batch run as done only when it actually did run (object conut > 0)

2015-10-20 Riccardo Mottola <rm@gnu.org>

	* DBCSVWriter.h
	* DBCSVWriter.m
	DBCSVLineBreakHandling : filter line breaks in strings

2015-09-12 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (queryMore)
	Check if returned object is an array: do not use size to determine if a single object is returned, since size refers to the size of the whole query.

2015-09-12 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	in _query check size against declared size.

2015-09-07 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	use upBatchSize for delete batch size

2015-07-02 Riccardo Mottola <rm@gnu.org>

	* DBCSVReader.m
        More extensive rewrite to handle qualifiers and escaped qualifiers

2015-06-25 Riccardo Mottola <rm@gnu.org>

	* DBCSVReader.m
	Try to properly parse double-quoted quote characters

2015-05-15 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m (query)
	Use a loop-local autorelease pool and drain it.

2015-04-30 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m (queryIdentify)
	Use a loop-local autorelease pool and drain it.

2015-04-29 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m (queryIdentify)
	Do not batch in a mutable array emptied each time, but work on NSArray as subarray and release it at each cycle

2015-04-28 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Increment progress by te current batch size, do not set an absolute value.

2015-04-24 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m
	QueryIdentify: split query array in chunks, to limit maximum memory consumption. The batch size is fixed for now.

2015-04-23 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (_delete)
	Stop if the associated progress monitor tells to.

	* DBSoapCSV.m
	Query: if interrupted, do not set progress to 100% and set the status to interrupted.


2015-04-15 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (_queryIdentify)
	Stop if the associated progress monitor tells so.

2015-04-15 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m
	Instantiate a private service class for create, query, indentify, etc. allowing parallel use.

2015-04-15 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (login:)
	Protect login with lock and busy count

2015-04-15 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Catch exceptions in all locked methods and unlock and decrease busy count.

2015-04-14 Riccardo Mottola <rm@gnu.org>

	* DBSoap.h
	* DBSoap.m
	Service convenience method, session details accessors.

	* DBSoapCSV.m (query:)
	Instantiate a private GWSService

2015-04-14 Riccardo Mottola <rm@gnu.org>

	* DBProgressProtocol.h
	Methods for telling the associate process to stop.

	* DBSoapCSV.m (query:)
	Interrupt if the progress monitor says so.

2015-04-14 Riccardo Mottola <rm@gnu.org>

	* DBSoap.h
	* DBSoap.m
	Provide isBusy to determine if any of the queries are running, protect all public APIs with a lock and call the equivalent internal unprotected ones.

2015-01-21 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (identifyObjectById) Use keyPrefix accessor, do not
	compare against nil objects.

2015-01-20 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (queryIdentify)
	Throw exception instead of just logging if batch size is specified win an incompatible query.

2014-10-10 Riccardo Mottola <rm@gnu.org>

	* DBSoap.h
	* DBSoap.m
	Add class methods for returning login  URLs.

2014-10-10 Riccardo Mottola <rm@gnu.org>

	* DBSoap.h
	* DBSoap.m
	Add sending query size in query/queryMore

2014-09-09 Riccardo Mottola <rm@gnu.org>

	* DBCSVReader.h
	* DBCSVReader.m
	Fix header parsing further, remove redundant method.

2014-09-08 Riccardo Mottola <rm@gnu.org>

	* DBCSVReader.h
	* DBCSVReader.m
	Refactor so that header parsing is possible after changing qualifier and separator strings.

2014-08-29 Riccardo Mottola <rm@gnu.org>

	* DBCSVReader.h
	* DBCSVReader.m
	* DBCSVWriter.h
	* DBCSVWriter.m
	Add setters for Qualifiers and Separators.

2014-06-27 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (create, update)
	Catch time out  GWSCoderError and throw an exception.

2014-06-26 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Escape ' in values used by queryIdentify to identify.

2014-06-07 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Fix handling of complex fied in non-aggregate queries.

2014-06-07 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m (queryIdentify)
	Support also GROUP BY in options in queryIdentify.

2014-06-06 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Rewrote query parser to match generic aggregate functions, not just count.

2014-06-05 Riccardo Mottola <rm@gnu.org>

	* DBCSVWriter.m
	Primitive NSCalendarDate object handling (only description for now)

2014-06-03 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
        Try to parse count() and count(id)

2014-05-19 Riccardo Mottola <rm@gnu.org>

	* DBSoap.m
	Parse alias fields in query.

2014-05-16 Riccardo Mottola <rm@gnu.org>

	* DBCSVWriter.m
	Fix writing of ordered header, in case of sub-objects.

2014-05-13 Riccardo Mottola <rm@gnu.org>

	* DBCSVWriter.h
	* DBCSVWriter.m
	* DBSoapCSV.m
	add writeOrdered accessor and use it.

2014-05-13 Riccardo Mottola <rm@gnu.org>

	* DBSoapCSV.m
	* DBCSVWriter.h
	* DBCSVWriter.m
	New core that analyzes fieldnames and is capable of extracting them in given order.

2014-05-12 Riccardo Mottola <rm@gnu.org>

	* DBCSVWriter.m
        Fix warning and perhaps wrong +bomLength

        * DBSoap.m
        Fix parsing of query which has only one field, make 10.4 compatible.

Riccardo Mottola <rm@gnu.org>

	* DBSoap.h
	* DBSoap.m
	* DBSoapCSV.m
	SOQL query parser to extract fields.
